package de.stefanocke.roo.wicket.model;

import java.util.List;

import org.springframework.roo.classpath.scanner.MemberDetails;
import org.springframework.roo.model.JavaType;

public interface ModelClassService {

	/**
	 * 
	 * @param modelClass
	 *            the Java type for which to scaffold
	 * @param metadataIdentificationString
	 *            the ID of the metadata that is just created. Used for
	 *            dependency registration
	 * @return
	 */
	List<BeanPropertyMetadata> getScaffoldEligibleProperties(JavaType modelClass, String metadataIdentificationString);

	JavaTypeMetadataDetails getJavaTypeMetadataDetails(String metadataIdentificationString, JavaType type);

	MemberDetails getMemberDetails(JavaType modelClass, String clientMid);


}
